Успадкування. Створення та використання ієрархії класів.”

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2014
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Алгоритмічні мови та програмування Частина 2

Частина тексту файла

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра ООП Звіт Про виконання лабораторної роботи №4 “Успадкування. Створення та використання ієрархії класів.” 1. Завдання: Розробити ієрархію класів згідно отриманого завдання 17 Геометричні фігури: коло, трикутник, циліндр, конус, сфера.   2. Структурна схема ієрархії класів Geometry  Square, Radius   Float     Surround  Capacity, Height   Triagle  Height, Perimetr   Circle  Length   Cone    Cylinder     Sphere     3. Текст програми. #include <iostream> #include <cmath> #include <conio.h> using namespace std; const float PI = 3.14; class Geometric { protected: double square, radius; public: void message() { cout << "\n Введiть данi:\n ";} void outputData() { cout << " Площа: " << square << " " << endl; } void img() { for (int i = 0; i < 52; i++) cout << "_"; cout << endl; } }; //========================================= // Фігури на площині class Float : public Geometric{ }; // Коло class Circle : public Float { private: double lenght; // Довжина кола public: void inputData() { cout << "Введiть радiус: "; cin >> radius; cout << endl; } void calculate () { lenght = (2 * PI * radius); square = (2 * PI * pow(radius,2) ); } void outputData() { cout << " Довжина кола: " << lenght << endl; Geometric::outputData(); } }; // Трикутник class Triagle : public Float{ private: double height, sideA, sideB, sideC, perimetr; public: void inputData() { cout << "Введiть висоту трикутника: "; cin >> height; cout << " Введiть довжини сторiн: \n" <<"\tСторона A: "; cin >> sideA; cout << "\tСторона B: "; cin >> sideB; cout << "\tСторона C: "; cin >> sideC; cout << endl; } void calculate() { square = 0.5 * sideA * height; perimetr = sideA + sideA + sideC; } void outputData() { cout << "Периметр трикутника: " << perimetr << endl; Geometric::outputData(); } }; //========================================= //Фігури у просторі class Surround : public Geometric { protected: double capacity, //Об'єм height; public: void inputData() { cout <<"Введiть радiус: "; cin >> radius; } void outputData() { cout << "\n Площа: " << square << endl; cout << " Обєм: " << capacity << endl; } }; // Циліндр class Cylinder : public Surround { public: void inputData() { Surround::inputData(); cout << "Введiть висоту: "; cin >> height; } void calculate() { square = 2 * PI * radius * height; capacity = PI * pow(radius, 2) * height; } }; // Конус class Cone : public Surround { private: double generatix; // Твірна конуса public: void inputData() { Surround::inputData(); cout << " Введiть виссоту: "; cin >> height; cout << " Введiть твiрну: "; cin >> generatix; } void calculate() { square = PI * radius * generatix; capacity = ((PI * pow(radius, 2) * height) /3); } }; // Сфера class Sphere : public Surround { public: void inputData() { Surround::inputData(); } void calculate() { square = 4 * PI * pow(radius,2); capacity = 4/3 * PI * pow(radius, 3); } }; //========================================= int main() { setlocale(0, ""); int key; // Вибір в меню bool exit = false; // Змінна циклу while while (!exit) { Geometric image; image.img(); cout << "\n Виберiть фiгуру: \n" << "(1) Коло \n" << "(2) Трикутник \n" << "(3) Цилiндр \n" << "(4) Конус \n" << "(5) Сфера \n" << "Вихiд \n"; cin >> key; switch (key) { case 0: {exit = true; break; } case 1: {Circle crcl; crcl.message(); crcl.inputData(); crcl.calculate(); crcl.outputData(); break; } case 2: {Triagle trgl; trgl.message(); trgl.inputData(); trgl.calculate(); trgl.outputData(); break; } case 3: {Cylinder clndr; clndr.message(); clndr.inputData(); clndr.calculate(); clndr.outputData(); break; } case 4: {Cone cn; cn.message(); cn.inputData(); cn.calculate(); cn...
Антиботан аватар за замовчуванням

12.04.2016 18:04

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини